package com.yuke.cloud.service.uac.service;

import com.github.pagehelper.PageInfo;
import com.yuke.cloud.common.base.dto.LoginAuthDto;
import com.yuke.cloud.common.core.annotation.OperationLogDto;
import com.yuke.cloud.service.uac.dto.AccLogMainDto;
import com.yuke.cloud.service.uac.entity.AccLog;
import com.yuke.cloud.common.core.support.IService;

import java.util.List;


/**
 * Created by wg on 2018/09/24.
 */
public interface AccLogService extends IService<AccLog> {

    /**
     * Save log int.
     *
     * @param accLog       the acc log
     * @param loginAuthDto the login auth dto
     *
     * @return the int
     */
    int saveLog(AccLog accLog, LoginAuthDto loginAuthDto);

    /**
     * Save operation log integer.
     *
     * @param operationLogDto the operation log dto
     *
     * @return the integer
     */
    Integer saveOperationLog(OperationLogDto operationLogDto);

    /**
     * Query log list with page wrapper.
     *
     * @param accLogQueryDtoPage the acc log query dto page
     *
     * @return the wrapper
     */
    PageInfo queryLogListWithPage(AccLogMainDto accLogQueryDtoPage);

    /**
     * Query user log list with user id list.
     *
     * @param userId the user id
     *
     * @return the list
     */
    List<AccLog> selectUserLogListByUserId(Long userId);
}
